//#include <stdio.h>
//#include <unistd.h>
//#include <sys/types.h>
//#include <sys/stat.h>
//#include <fcntl.h>
//
//int main()
//{
//    close(0);
//    int fd = open("log.txt", O_WRONLY|O_CREAT|O_TRUNC, 0666);
//    printf("%d\n", fd);
//
//    close(fd);
//    return 0;
//}

//#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
//#include <stdlib.h>
#include <unistd.h>
// 
//int main()
//{
//	 close(1);
//	 int fd = open("myfile", O_WRONLY|O_CREAT, 00644);
//	 if(fd < 0)
//	 {
//		 perror("open");
//		 return 1;
//	 }
//	 printf("fd: %d\n", fd);
//	 fflush(stdout);
//	 
//	 close(fd);
//	 return 0;
//}
#include <stdio.h>

int main()
{
	int fd1 = open("myfile", O_WRONLY|O_CREAT|O_TRUNC, 0666);
    if(fd1 < 0) return 1;

	int fd2 = open("myerr", O_WRONLY|O_CREAT|O_TRUNC, 0666);
    if(fd2 < 0) return 1;
    
    dup2(fd1, 1);
    dup2(fd2, 2);

    //标准输出
	fprintf(stdout, "I an normal message!\n");
	fprintf(stdout, "I an normal message!\n");
	fprintf(stdout, "I an normal message!\n");
	fprintf(stdout, "I an normal message!\n");

	//标准错误
	fprintf(stderr, "I an error message!\n");
	fprintf(stderr, "I an error message!\n");
	fprintf(stderr, "I an error message!\n");
	fprintf(stderr, "I an error message!\n");
    
    close(fd1);
    close(fd2)
        ;
	return 0;
}
